MySQL:打印计数值

时间:2014-04-22 08:43:03

标签: mysql sql

表:

+-------------+
| izvajalecID |
+-------------+
|          20 |
|          21 |
|          21 |
|          20 |
|          21 |
+-------------+

我想计算所有唯一ID并打印它们的值。

例如:

唯一ID: 2 值: 20,21

我尝试了以下查询。 Count工作正常,但它只返回一个(第一个)值。我做错了什么?

SELECT COUNT(distinct izvajalecID), s.izvajalecID FROM (SELECT izvajalecID FROM servis) s;

4 个答案:

答案 0 :(得分:2)

SELECT 
    izvajalecID
FROM 
    servis 
GROUP BY
    izvajalecID

UNION

SELECT 
    COUNT(DISTINCT izvajalecID)
FROM 
    servis 

Fiddle

集合中的最后一个值是COUNT个唯一值。您也可以更改它们的位置,它将是第一个值,就像您希望的那样。

答案 1 :(得分:0)

试试这个:

SELECT izvajalecID, COUNT(DISTINCT izvajalecID) as COUNT
FROM servis
GROUP BY izvajalecID

结果:

IZVAJALECID   COUNT
20            1
21            1

请参阅SQL Fiddle中的结果。

答案 2 :(得分:0)

SELECT COUNT(DISTINCT izvajalecID) AS COUNT, GROUP_CONCAT(DISTINCT izvajalecID) AS ID
FROM servis

答案 3 :(得分:0)

如果你想要uniq id的计数并获得uniq Ids的列表,你需要两个查询。

一个可以计算

SELECT COUNT(distinct izvajalecID) FROM servis GROUP BY izvajalecID;

一个人拿到名单。

SELECT distinct izvajalecID FROM servis GROUP BY izvajalecID;