0

可能重复:
如何从 sql 查询中获取第一条和最后一条记录?

我在 mysql 数据库中有按字母顺序排序的单词。如何获取字母表中每个字母的第一个和最后一个单词。

所以假设数据库中有以下单词:

空中飞机 awol 周围

我想连接字母表的第一个和最后一个单词(所以在这种情况下是空中环绕)。我想获取以字母排序的特定字母开头的第一个和最后一个单词。

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 回答