-1

だから私は投票システムに大量の票を入れています。1日の投票数を表示したい。しかし、私はまた、1 日あたりの投票数を表示し、投票された日に吐き出すこともしたいと考えています。

SELECT count(*) AS count
FROM results 
GROUP BY DAY(datesubmitted), YEAR(datesubmitted), MONTH(datesubmitted) 
ORDER  BY DAY(datesubmitted) DESC, YEAR(datesubmitted) DESC, MONTH(datesubmitted) DESC

私のクエリは、次のようなものを追加しようとしました

DAY(FROM_UNIXTIME(送信日)) as order_day

しかし、これは私が面白いと思ったnullをスローするだけで、アウターがないためクエリが失敗すると予想していました。

4

3 に答える 3

1

単純にやってみませんGROUP BY datesubmitted DESCか?また、GROUP BYと同じ基準に従っている場合は、ORDERBYを実行する必要はありません。

于 2012-06-06T01:15:46.717 に答える
0

特定の日の投票数:

SELECT COUNT(*) AS total
FROM results 
WHERE datesubmitted BETWEEN @dateMin AND @dateMax

各日の投票数:

SELECT COUNT(*) AS total, DATE(datesubmitted) AS day
FROM results 
GROUP BY DATE(datesubmitted)
ORDER BY DATE(datesubmitted) DESC

再度更新

于 2012-06-05T23:53:05.957 に答える
-1

新しい答えを見たばかりですが、私にとってはそれをどのように機能させたかは次のとおりです。

SELECT count(*) AS count, DAY(datesubmitted) AS newday, 
YEAR(datesubmitted) as newyear ,MONTH(datesubmitted) as newmonth
FROM results 
GROUP BY DAY(datesubmitted), YEAR(datesubmitted), MONTH(datesubmitted) 
ORDER  BY  YEAR(datesubmitted) DESC, MONTH(datesubmitted) DESC, DAY(datesubmitted) DESC

このようにして、年、月、日の正しい順序を正しく取得し、日付も表示します。それらを連結することはできますが、それは別の日にします。

于 2012-06-05T23:56:14.997 に答える