私は、ユーザーID、ユーザー名、注文ID、注文のタイムスタンプをすべてのユーザーの注文を記録する注文表がある食品販売のWebサイトを持っています。注文の最大数を知りたい任意の1時間のスパンを介してday.Give私にこれのための任意のアルゴリズム、またはこれらの任意のSQLクエリを与える。データベースから1時間以内に発生する注文数の最大数を調べるには?
-3
A
答えて
1
SQLサーバー:
with CTE as
(
select cast(t1.timestamp as date) as o_date, datepart(hh, t1.timestamp) as o_hour, count(*) as orders
from MyTable t1
group by cast(t1.timestamp as date), datepart(hh, t1.timestamp)
)
select o_date, o_hour, orders
from CTE
where orders = (select max(orders) from CTE)
オラクル
with CTE as
(
select to_char(t1.timestamp, 'YYYYMMDD') as o_date, to_char(t1.timestamp, 'HH24') as o_hour, count(*)
from MyTable t1
group by to_char(t1.timestamp, 'YYYYMMDD'), to_char(t1.timestamp, 'HH24')
)
select o_date, o_hour, orders
from CTE
where orders = (select max(orders) from CTE)
0
あなたはMySQLの
0の場合はSQLSELECT TOP 1
COUNT(*)
FROM myTable
GROUP BY DATEPART(day, [column_date]), DATEPART(hour, [column_date])
ORDER BY COUNT(*) DESC;
についてこの
のような日や時間によってカウント得ることができます
SELECT
COUNT(*)
FROM myTable
GROUP BY HOUR(column_date), DAY(column_date)
ORDER BY COUNT(*) DESC
LIMIT 1;
+0
これはどのdbmsですか? (これはANSI SQLではなく、質問にはdbmsがspocifiedされていません) – jarlh
+0
私はanswer @ jarlhを編集しました –
あなたが試したコードを共有できますか? –
SQLにはさまざまな "味"があります。使用しているDBMSにタグを付けてください。 – JohnHC
私はmysqlを使用しています –