在MySQL中区分多个列 [英] Distinct on multiple columns in MySQL
本文介绍了在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屋!
查看全文