0

2つのselectステートメントがあります。アルファベット順から名を取得してFirstというタイトルの列に配置し、Lastというタイトルの列のアルファベット順で姓の横に配置したいと思います。

SELECT Name AS 'First'
FROM contactlist
ORDER BY Name ASC
LIMIT 1;

SELECT Name AS 'Last'
FROM contactlist
ORDER BY Name DESC
LIMIT 1;
4

1 に答える 1

0

なぜこれが必要なのかわかりませんが、ここに行きます:

SELECT First, Last
FROM (
  SELECT Name AS 'First'
  FROM contactlist
  ORDER BY Name ASC
  LIMIT 1
  ) t, (
  SELECT Name AS 'Last'
  FROM contactlist
  ORDER BY Name DESC
  LIMIT 1
  ) t2

すべての名前を取得し、行番号(ASCFirstからDESCLast)で一致させるのはもう少し楽しいかもしれません-次のようなものです:

SELECT First, Last
FROM (
  SELECT Name AS 'First',
    @rowNum:=@rowNum + 1 rn
  FROM contactlist
    JOIN (SELECT @rowNum:= 0) r
  ORDER BY Name ASC
  ) t JOIN
 (
  SELECT Name AS 'Last',
    @rowNum2:=@rowNum2 + 1 rn
  FROM contactlist
    JOIN (SELECT @rowNum2:= 0) r
  ORDER BY Name DESC
  ) t2 ON t.rn = t2.rn

そして、いくつかのフィドル

于 2013-02-13T23:41:39.680 に答える