在MySQL中区分多个列 [英] Distinct on multiple columns in MySQL

查看:110
本文介绍了在MySQL中区分多个列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道MySQL数据库中不同行的数量。

  id | val1 | val2 | val3 

1 | 1 | 1 | 1
2 | 1 | 1 | 1
3 | 2 | 2 | 2
4 | 2 | 2 | 2

在上面的表格中,查询将返回

  val1 | val2 | val3 | count 
1 | 1 | 1 | 2
2 | 2 | 2 | 2

有没有人知道在MySQL中实现这个有效的方式。

解决方案

您需要使用 GROUP BY 子句:

  SELECT val1,val2,val3,count(*)AS count 
FROM mytable GROUP BY val1,val2,val3

查看此小提琴


I wish to find out the count of distinct rows in a MySQL DB.

id | val1 | val2 | val3

1  |  1   |  1   |  1
2  |  1   |  1   |  1
3  |  2   |  2   |  2
4  |  2   |  2   |  2

On the table above the query would return

val1 | val2 | val3 | count
1    |   1  |  1   |   2 
2    |   2  |  2   |   2

Does anyone know a reasonably efficient way of achieving this in MySQL.

解决方案

You need to use GROUP BY clause for this:

SELECT val1, val2, val3, count(*) AS count
FROM mytable GROUP BY val1, val2, val3

See this fiddle

这篇关于在MySQL中区分多个列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆