我想要查询的visitas
数据库表中包含以下数据,以简化我在列visita
上为其提供有序DESC的内容
idcliente idcomercio visita
----------------------------------------------
12393 2 2013 12 07 13:43:59
10 2 2013 11 30 16:34:56
8 2 2013 11 30 12:34:56
12 2 2013 11 25 16:34:56
6 2 2013 11 25 12:34:56
2 2 2013 11 18 12:34:56
4 2 2013 11 18 12:34:56
6 2 2013 11 18 12:34:56
2 2 2013 11 11 12:34:56
我希望在最新访问时间之前订购平板电脑,以及客户在该访问中完成的访问次数,对于此测试表,结果将是这一次
idcliente #visits
---------------------
12393 1
10 1
8 1
12 1
6 2
2 2
4 1
(嗯,我知道3次访问的时间完全相同所以它可能不一定是他的订单中的结果,无论如何我的问题与此无关。
我瘦了下面的sql语句应该是实现上面的工作:SELECT
idcliente,
COUNT(idcliente)
FROM
visitas
WHERE
idcomercio = 2
GROUP BY
idcliente
ORDER BY
visita DESC
但是这个查询返回了这个结果:
idcliente #visits
---------------------
12393 1
10 1
8 1
12 1
4 1
6 2
2 2
这显然是错误的,因为idcliente 6的客户端比idcliente 4的客户端更晚访问。
有人可以弄清楚我可能会失踪的是什么吗?我试图输入其他一些东西,但似乎都没有。
答案 0 :(得分:3)
SELECT idcliente,COUNT(idcliente) FROM visitas WHERE idcomercio=2
GROUP BY idcliente ORDER BY MAX(visita) DESC
没有定义MAX
没有定义哪个visita值用于排序。