我有一个处理通用HTML表的特定查询。这些查询与子查询只是普通的SELECT,聚集等替换SELECT和FROM之间的所有内容
在当前形势下,应用统计结果的查询将给予,使数(自动)分页:
1. SELECT COUNT(*) FROM (SELECT this, that, SUM(foo), COUNT(bar) FROM b WHERE x = y)
然后一些对象进程并添加分页等表被填充相同的查询+ LIMIT子句:
2. SELECT this, that, SUM(foo), COUNT(bar) FROM b WHERE x = y LIMIT n
但是,数q uery(下1如图所示)是相当慢,所以我想替换,使用此:
3. SELECT COUNT(*) FROM b WHERE x = y
< - 从1 & 2的查询,但我取代this, that, SUM(foo), COUNT(bar)
与COUNT(*)
。
问题是:如何在SELECT和FROM之间有效地替换所有内容,而不会在使用子查询时搞乱事情?我可以用正则表达式来做这个吗?有另一种方法吗?
查询每次都有所不同。它是执行2个查询的通用处理程序:1个计数查询,以及1个用于表中的数据。我试图找到一个通用的解决方案来削减第一个SELECT
和其相应的FROM
之间的所有内容。
将你的子查询始终包含你从查询只有一个表? – 2013-04-26 12:59:26
不,大多数查询使用JOIN – Sherlock 2013-04-26 13:16:26