質問

いテーブルに"Date"をクリックしてください。それぞれ日が表示されます。どんなものだけを選択日に表示される < k数の時間は何時ですか?

役に立ちましたか?

解決

select dates 
  from table t 
 group by dates having count(dates) < k ;

思ードを動作させることができますので、ORACLE社HTH

他のヒント

SELECT * FROM [MyTable] WHERE [Date] IN
(
    SELECT [Date] 
    FROM [MyTable] 
    GROUP By [Date] 
    HAVING COUNT(*) < @Max
)

見@[SQLMenace]'s応答もございますこのことによってデータベース氏に加え、速く走仮にバージョンのオプティマイザなの議論の余地がある問題.

軒の総数:

SELECT Date
FROM SomeTable
GROUP BY Date
HAVING COUNT(*) < @k

DECLARE @Max int
SELECT @Max =  5

SELECT t1.* 
FROM [MyTable] t1 
JOIN(
    SELECT [Date] 
    FROM [MyTable] 
    GROUP By [Date] 
    HAVING COUNT(*) < @Max
) t2 on t1.[Date]  = t2.[Date] 

のために"と表示されたx"時代のクエリで使用を提供しています。このケースでは、クエリーできるように:

SELECT Date FROM table GROUP BY Date HAVING COUNT(*)<k

はるか選択する必要がありますその他のカラムを除く日

SELECT * FROM Table WHERE Date IN (
SELECT Date FROM table GROUP BY Date HAVING COUNT(*)<k)

でも書き換えの内参加しましたが、このだ性能として、実際には、クエリ-オプティマイザはこのとき多くのRDBMS.有インデックス日時は確かに性能向上のためにこのクエリ。

SELECT date, COUNT(date)
FROM table
GROUP BY date
HAVING COUNT(date) < k

そしてオリジナルのデータ:

SELECT table.*
FROM table
INNER JOIN (
  SELECT date, COUNT(date) 
  FROM table
  GROUP BY date
  HAVING COUNT(date) < k) dates ON table.date = dates.date

仮に使用Oracle、k=5:-

select date_col,count(*)
from your_table
group by date_col
having count(*) < 5;

場合に日付の列が時間をお過ごしください。ても、無視したいので、変更のクエリで以下のような内容です。-

select trunc(date_col) as date_col,count(*)
from your_table
group by trunc(date_col)
having count(*) < 5;

できない場合がありまをカウントに直接datefieldの場合にあたります。ま変換する必要があるだけで年/月/日の形式で最初にカウントしました。

なおカウントがoffであ記録に順じます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top