0

重複の可能性:
SQLクエリから最初と最後のレコードを取得する方法は?

私はmysqlデータベースで単語をアルファベット順にソートしています。アルファベットの各文字の最初と最後の単語を取得するにはどうすればよいですか?

データベースに次の単語があるとします。

飛行機がぐるぐる回る

アルファベットの最初と最後の単語を連結したい (この場合はエアアラウンド)。アルファベット順にソートされた特定の文字で始まる最初と最後の単語を取得したい。

4

3 に答える 3

1

これはトリックを行い、ソートされていないデータでも機能します。試してみてください

SELECT CONCAT(MIN(word),' - ',MAX(word))
FROM table
GROUP BY ASCII(LOWER(word))

基本的に、すべての文字のアルファベット順の最初と最後のインスタンスをフェッチし、それらを連結します。ASCII(word)は、単語の左端の文字のASCII算術値を取得するだけなので、基本的には、単語または文の最初の文字(または数値または記号)ごとにグループ化され、リストのような優れた「百科事典」を出力します。

于 2012-07-31T17:00:38.923 に答える
0

試す

select min(name)
from your_table
group by substring(name, 1, 1)
于 2012-07-31T16:41:49.967 に答える
0
   $str = "air airplane awol around";

    $exp = explode(' ', $str);

    $count = count($exp); // counting no. of items in array
    $count = $count--;     // reducing count by 1 because index starts from 0
    $first = $exp[0];     // storing first word
    $last = $exp[$count]; // storing last word

    echo $first." - ".$last;
于 2012-07-31T16:42:36.720 に答える