我在mysql db中按字母顺序排序。如何获得字母表中每个字母的第一个和最后一个单词。
所以让我们说db中有以下几个字:
空气 飞机 AWOL 围绕
我想连接字母表中的第一个和最后一个单词(所以在这种情况下是air-around)。我希望得到以字母顺序排列的特定字母开头的第一个和最后一个单词。
答案 0 :(得分:1)
这样做也适用于非排序数据,请尝试
SELECT CONCAT(MIN(word),' - ',MAX(word))
FROM table
GROUP BY ASCII(LOWER(word))
它基本上按字母顺序获取每个字母的第一个和最后一个实例并将它们连接起来。 ASCII(word)只获取一个单词最左边字母的ASCII算术值,所以基本上它是按单词或句子的每个第一个字母(或数字或符号)分组,并输出一个很好的'encyclopaedia'之类的列表。
答案 1 :(得分:0)
试
select min(name)
from your_table
group by substring(name, 1, 1)
答案 2 :(得分: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;