Php 按第一个字符筛选列值?

Php 按第一个字符筛选列值?,php,mysql,sql,database,Php,Mysql,Sql,Database,这就是我到目前为止所做的 $filtered_results = array(); $result = $this->db ->select('name') ->from('user') ->get() ->result_array(); foreach($result as $name) { if($name[0]=='a')

这就是我到目前为止所做的

$filtered_results = array();

$result = $this->db
               ->select('name')
               ->from('user')
               ->get()
               ->result_array();    

foreach($result as $name)
{
    if($name[0]=='a')
    {
        filtered_results[] = $name;
    }
}
如果我的表包含大量行,那么上面的代码在逻辑上浪费了太多的时间来处理所有结果。因此,另一种方法是只直接检索以“a”作为$name[0];”的结果;。这可能吗

->where('name'.[0],'a')
这将是一个开始:

例1:

SELECT `name` FROM `user` where `name` like 'a%'
例2:马克B

SELECT `name` FROM `user` WHERE LEFT(`name`, 1) = 'a'
这将是一个开始:

例1:

SELECT `name` FROM `user` where `name` like 'a%'
例2:马克B

SELECT `name` FROM `user` WHERE LEFT(`name`, 1) = 'a'

... 其中LEFTname,1='a'?请解决这个问题。这不是列名,而是列值。我的表中有一个列名,在那里我得到了结果。$name来自foreach,将检索到的结果显示为$name。。。。其中LEFTname,1='a'?请解决这个问题。这不是列名,而是列值。我的表中有一个列名,在那里我得到了结果。$name来自foreach,将检索结果显示为$name。“a%”是否意味着第一个字符是a,而%是字符串的其余字符。@user3205047,是的,但我建议您使用Marc B编写的内容,我会添加它。是的。%是一个通配符。a%表示以a开始,或%a表示以a结束。“%a%”表示包含……这两个都是我想要的,尽管我想问一下,哪一个更好。或者哪种查询速度更快。我需要尽可能地减少装载时间以获得答案。。。我需要一个过滤器的第一个字母的应用程序使用WebSQL数据库。。。“a%”选项运行良好,但Marc B抛出错误。。。因此,如果有人要使用WebSQL,第一个选项是要选择的…a%是否意味着第一个字符是a,而%是字符串的其余字符。@user3205047,是的,但我建议您使用Marc B编写的内容,我会添加它。是的是一个通配符。a%表示以a开始,或%a表示以a结束。“%a%”表示包含……这两个都是我想要的,尽管我想问一下,哪一个更好。或者哪种查询速度更快。我需要尽可能地减少装载时间以获得答案。。。我需要一个过滤器的第一个字母的应用程序使用WebSQL数据库。。。“a%”选项运行良好,但Marc B抛出错误。。。因此,如果有人将使用WebSQL,第一个选项是选择。。。