为了结果我有一个看起来像这样的表:Zend的SQL语句来查找和occurances
ID | name | phone_number | date 1 | bob | 4567 | 1/1/2011 2 | bob | 8912 | 1/1/2010 3 | bob | 1234 | 1/1/2010 4 | bob | 1234 | 1/1/2014 5 | bow | 4567 | 1/1/2014
我创建一个自动提示,以便用户键入的名字就会拿起以前的名字和电话数字。由于人们可以更改他们的电话号码,我想要订购结果并根据最常用的电话号码显示号码的数量。作为第二种,它应该基于名称和添加日期的最后一种(最新的第一种)。
因此,如果有人类型的“博”,它应该返回:
bob 1234 (2) - Because it is alphabetically highest plus has the most phone numbers. bob 4567 (1) - Because it is alphabetically highest and its last entry is newer. bob 8912 (1) - Because it is alphabetically highest and its last entry was older. bow 4567 (1) - Because it is alphabetically lower.
通常我会用例如Zend的方法:
public function getAllNames($part)
{
$select = $this->select();
$select->where('name LIKE ?', '%'.$part.'%')
->order('name');
return $this->fetchAll($select)->toArray();
}
但我被困在如何计算的项电话号码,然后执行三个命令。
或者只是获取所有条目并使用PHP来处理结果并相应地排序它会更好吗?
我SQL。我不知道2011年1月1日是什么。 :-( – Strawberry
对不起,该表有点弥补,人的表示(日期也是如此),日期是真实DB中的时间戳;-) – Scoobler
人类?所以没有订阅你的日期格式的人不是人类;-) – Strawberry