我有以下mySQL代码:
SELECT
c.categoryId,
c.categoryName, c.categoryParent,
c.categoryDescription,
COUNT(p.productid) as totalProdsInCategory
FROM categories as c
LEFT JOIN normalproducts as p
ON c.categoryId = p.categoryid
WHERE c.categoryId = 41
GROUP BY c.categoryId
ORDER BY c.categoryParent ASC, c.categoryName ASC
Run Code Online (Sandbox Code Playgroud)
我希望能够包含另一个COUNT列.但这只能算作p.state ="active"的产品.这是我的INCORRECT解决方案
SELECT
c.categoryId,
c.categoryName, c.categoryParent,
c.categoryDescription,
COUNT(p.productid) as totalProdsInCategory,
COUNT(q.productid) as totalActiveProdsInCategory
FROM categories as c
LEFT JOIN normalproducts as p
ON c.categoryId = p.categoryid
WHERE c.categoryId = 41
GROUP BY c.categoryId
ORDER BY c.categoryParent ASC, c.categoryName ASC
Run Code Online (Sandbox Code Playgroud)
有帮助吗?我不知道从哪里开始......
我有:
RewriteCond %{HTTP_HOST} ^MYDOMAIN\.com$ [NC]
RewriteRule ^(.*)$ http://www.MYDOMAIN.com/$1 [L,R=301]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} ^/(user|admin|cart)
RewriteRule ^(.*)$ https://www.MYDOMAIN.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
这有效地路由所有/ user和/ admin和/ cart路径以使用SSL.我的问题是相反的.我需要一条规则,声明如果您不在这些页面上,它会将您重定向到HTTP(无SSL).
我怎么做?
我能够轻松获得图书信息:
http://isbndb.com/api/books.xml?access_key=THEKEY&results=details&index1=isbn&value1=9781849152990
Run Code Online (Sandbox Code Playgroud)
我可以轻松查找类别:
http://isbndb.com/api/categories.xml?access_key=Z&index1=category_id&value1=science.mathematics.geometry
Run Code Online (Sandbox Code Playgroud)
但是你怎么得到某本书的类别?我想提供ISBN代码,作为回报我想获得类别?
在YII我有:
$dataProvider = new CArrayDataProvider ($auctions ,
array(
'pagination'=>array(
'pageSize'=> 12,
),
));
$this->widget('zii.widgets.CListView', array(
'dataProvider'=> $dataProvider,
'itemView' => '_frontpageAuction',
'summaryText' => '',
'emptyText' => '
No auctions available to display.
',
));
Run Code Online (Sandbox Code Playgroud)
如何更改它以使寻呼机不显示在网格的底部,而是显示在顶部?
我使用Yii框架和JGoogleAPI扩展,如下所示:
$service = Yii::app()->JGoogleAPI->getService('Analytics');
$optParams = array(
'metrics' => 'ga:visits',
'max-results' => '1'
);
$gaData =
$service->data_ga->get(
'ga:XXXXXXX',
'2012-12-19',
'2012-12-21',
'ga:visits',
$optParams
);
Run Code Online (Sandbox Code Playgroud)
如果我在19日有10次点击,20日有20次点击,21日有30次点击,这个查询给了我:30 + 20 + 10 = 60.但是,我想要一个返回每天行的查询.
即,不是这个:
array[0] = 60
Run Code Online (Sandbox Code Playgroud)
而是这个:
array[0] = 10
array[1] = 20
array[2] = 30
Run Code Online (Sandbox Code Playgroud)
知道怎么做吗?
假设我有这张表:
ID | col1 | col2 | col3 | col4
1 | val | | val |
Run Code Online (Sandbox Code Playgroud)
有没有办法修改此查询:
UPDATE table set col1 = "bla", col2 = "bla", col3 = "bla", col4 = "bla where id = 1
Run Code Online (Sandbox Code Playgroud)
所以我最终得到:
ID | col1 | col2 | col3 | col4
1 | val | bla | val | bla
Run Code Online (Sandbox Code Playgroud)
换句话说,查询必须只更新非空字段.你是怎样做的?
我有一张桌子:
ID | Name | TDate
1 | John | 1 May 2013, 8:67AM
2 | Jack | 2 May 2013, 6:43AM
3 | Adam | 3 May 2013, 9:53AM
4 | Max | 4 May 2013, 2:13AM
5 | Leny | 5 May 2013, 5:33AM
Run Code Online (Sandbox Code Playgroud)
我需要一个返回所有TDate周末项目的查询.我该怎么写这样的查询?
我有多远
select
table.*,
EXTRACT (DAY FROM table.tdate )
from table
Run Code Online (Sandbox Code Playgroud)
我使用EXTRACT做了一个选择,看看我是否能得到正确的值.但是,使用参数DAY的EXTRACT返回月份的日期.如果我改为使用WEEKDAY,根据这里的文档,那么我得到错误:
ERROR: timestamp units "weekday" not recognized
SQL state: 22023
Run Code Online (Sandbox Code Playgroud)
限制1250
EDIT TDate具有日期时间(时间戳)的数据类型.我只是为了方便阅读而写的.但无论何种类型,如果需要,我都可以轻松地在类型之间进行转换.
我知道约会4月5日和5月是周末(因为他们是周六和周日).firebird是否允许一种编写查询的方法,如果它们在周末出现,它们将返回日期.
直到大约5分钟前,我甚至不知道你得到的类型VARCHAR也是一个数组.我如何加入这些表格:
PEOPLE
ID | PERSON | GROUPS
1 | John | {ONE,TWO}
2 | Jack | {TWO}
3 | Jill | {ONE,TWO,THREE}
4 | Jim | {TWO,THREE}
GROUPS
ID | TITLE
ONE | First
TWO | Second
THREE | Third
Run Code Online (Sandbox Code Playgroud)
我想最终得到这样的东西:
ID | PERSON | GROUP
1 | John | ONE
1 | John | TWO
2 | Jack | TWO
3 | Jill | ONE
3 | Jill | TWO
3 | Jill | THREE
4 | Jim | …Run Code Online (Sandbox Code Playgroud) 我知道如果我做了什么,我可以这样解除它:
get reset HEAD~1
Run Code Online (Sandbox Code Playgroud)
这将有效地"回归"一次提交.我的问题是我做了一个提交,然后是拉.事实上,我做了很多工作,添加了越来越多的代码.所以我最终得到了:
--> Other User Commit A <<-- WAS PUSHED
--> Other User Commit B <<-- WAS PUSHED
--> MY COMMIT <<---- This is what must be UNDONE, that was never pushed
--> Other User Commit E <<-- WAS PUSHED
--> Other User Commit F <<-- WAS PUSHED
Run Code Online (Sandbox Code Playgroud)
因此重置HEAD~1将简单地摆脱"其他用户提交A".但我只需要删除"MY COMMIT",这是从未被推过的.
关于如何摆脱我的这个提议的任何想法?
(仅供参考,发生的事情是我意外地提交了一个1.6 Gb的文件,并且无法弄清楚为什么push不起作用,但是继续工作并提取新的代码......但是从来没有推过这个直到我刚刚意识到既然这个大文件不在提交......)
任何帮助将不胜感激?
UPDATE
最好的解决方案是允许我"取消添加"我添加的文件.
我已经阅读了很多次文档,但我似乎无法找到一种方法来制作这样的图表。也许是因为我不知道它叫什么,所以我什至不确定要寻找什么。让我试着解释一下我要做什么。
通常,如果您有这样的一系列要点:
3 May, 5:00 PM ---> 0
3 May, 5:20 PM ---> 3
4 May, 5:00 PM ---> 0
4 May, 5:20 PM ---> 3
Run Code Online (Sandbox Code Playgroud)
如果您制作标准的 LINE GRAPH,高图表将绘制两者之间的值 INCREASE。所以我最终得到了这个:
但问题是,显示的值实际上是在某个时间点发生变化的值。换句话说,我想要的是:
更重要的是,时间之间的间隔似乎不正确。您会注意到它创建了一个完美的锯齿形,即使第一点和第二点之间的时间是 20 分钟(下午 5 点到下午 5:20),第二点和第三点之间的时间是 23 小时 40 分钟(5 月 3 日) :下午 20 点和 5 月 4 日下午 5 点)。所以我真正想要的是:
更新
我现在能想到的唯一解决方案是在真实点之间伪造点。因此,例如,如果该值在下午 5 点为 0,并在下午 5:20 变为 3,那么我将在这两者之间添加 19 个点。所以在 5:01 我将它设为 0,在 5:02 我也会将它设为 0,然后在 5:03 等等。直到 5:19。但即使是这种方法也会导致从 …
mysql ×2
sql ×2
.htaccess ×1
apache ×1
api ×1
firebird ×1
git ×1
google-api ×1
highcharts ×1
isbn ×1
mod-rewrite ×1
php ×1
postgresql ×1
regex ×1
sql-update ×1
yii ×1