私は大きなデータセットを持っており、特定の属性値の最も一般的な出現をどのように計算するのかと思っていました。制約に基づいて列の値の数を調べる方法は?
例えば、私はCatsと呼ばれる仮説テーブルを持っているとしましょう。私はそれに次の値を挿入します。
Create table Cats (Cat_ID int, Cat_name varchar(max), Cat_Hometown varchar(max), Gender varchar(max), Birth_Year int)
INSERT INTO CATS (Cat_ID, Cat_Name, Cat_Hometown, Gender, Birth_year)
VALUES (1, 'Blue','Boston','M', 1980),
(2, 'Steamer','Plymouth','F', 1999),
(3, 'Stack','Newton','F', 1980),
(4, 'Overflow','Boston','M', 1978),
(5, 'CatorDog','Allston','F', 1999);
私は1980年に女性の猫のための最も一般的な都市を決定したい場合は?どうすればいい?私はそれの周りに私の頭を包むように見えることはできません。
条件aggregration? gender = 'F'、birth_year <= 1980 cat_hometown order by cnt desc'のcat_homeTown、sum(birth_year <= 1980、gender = 'F'、then else 0 end)を選択します。 – xQbert
なぜ<演算子を使用しましたか?私はちょうど1980年の値を知りたいと思っています –
要件が不明だったので。あなたは "1980年に女性の猫"と言いましたが、あなたは生まれているとは言いませんでしたので、1980年以前に生まれた猫が私に生きていると考えました。私はdescを注文したので、ただ一つのレコードが欲しかった。カウントでは最高のカウントがトップになるのでダウンします。 – xQbert