ホームページ > バックエンド開発 > PHPチュートリアル > この mysql ステートメントの書き方を手伝ってください。

この mysql ステートメントの書き方を手伝ってください。

WBOY
リリース: 2016-06-23 13:28:12
オリジナル
963 人が閲覧しました

テスト
名前 wers 9
b w1rs 10

asdf 11
as wers 12 as test ...

を使用して、次の結果を選択します (各名前の最大の数を持つもの、他に関係なく 1 行のみ!) )
a wefsv 3
b w1rs 10
as w 3rs 13

もう 1 つの質問ですが、2 行を選択したい場合はどうすればよいですか?

b wers 9
b w1rs 10

as wers 12
as w3rs 13

a wefsv 3




ディスカッションに返信 (解決策)

名前を選択、追加テストグループからの ,num by add order by add desc

select name,add,num from test group by add order by add desc

素晴らしい神様!出来ないよ!選択された各数値は最大ではありません

各名前の最大の行

select *

from test a

where not存在 (select 1 from test where name=a.name and num>a.num);

First Ask

select * from (select * from test order by num desc) t group by name
ログイン後にコピー
ログイン後にコピー
name add   num a    wefsv 3 as   w3rs  13 b    w1rs  10 
ログイン後にコピー
ログイン後にコピー


最初の質問
select * from (select * from test order by num desc) t group by name
ログイン後にコピー
ログイン後にコピー
name add   num a    wefsv 3 as   w3rs  13 b    w1rs  10 
ログイン後にコピー
ログイン後にコピー

1 行

select * from test a where 0 = (select count(*) from test where name = a.name and num > a.num)

2 行

select * from test a where 2 > (select count(*) from test where name = a.name and num > a.num)

1 row

select * from test a where 0 = (select count(*) ) from test where name = a.name and num > a.num)

2 行

select * from test a where 2 > (select count(*) from test where name = a.name and num > a.num)

すごいですね!昨日30分も費やしましたが、出てきませんでした! 、ありがとう!あなたのやり方が私には一番良いと思います!

问题二

select * from test t where 2>(select count(*) from test where num>t.num and name=t.name);
ログイン後にコピー
name add   num a    wefsv 3 b    wers  9 b    w1rs  10 as   wers  12 as   w3rs  13 
ログイン後にコピー


所以问题一的又一写法是
select * from test t
 where  1>(select count(*) from test1 where num>t.num and name=t.name)

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート