大家好我有一个'widget'表,其中包含以下列:widget,action,timestamp_.我们想要做的是在特定日期之间拉出每天被拒绝多次的所有小部件.所以这是一个示例表
widget action timestamp_
-------------------------------------------
type1 reject 2011-05-10 08:00:00
type1 reject 2011-05-10 09:00:00
type1 reject 2011-05-10 09:30:00
type2 reject 2011-05-11 09:30:00
type3 reject 2011-05-11 09:30:00
type1 reject 2011-05-11 09:30:00
type1 reject 2011-05-11 09:30:00
type2 reject 2011-05-12 10:30:00
type2 reject 2011-05-12 12:30:00
type3 reject 2011-05-12 12:30:00
Run Code Online (Sandbox Code Playgroud)
所以我期待以这两种方式之一看到结果....
在日期x和y之间,有两个小部件在一天内被多次拒绝
这将看到type1在一天内被拒绝多次,因为type2因此计数为:2
要么
显示每个小部件及其被拒绝的日期多次以及多少次.例..
widget date count
---------------------------------
type1 2011-05-10 3
type1 2011-05-11 2
type2 2011-05-12 2
Run Code Online (Sandbox Code Playgroud)
这可能是首选的输出......但是如何?
提前致谢!
好吧,我可能想出一个更好的头衔,但不知道如何说出来让我解释一下.
假设我有一个包含"CODE"列的表格.我的表中的每条记录都有"A","B"或"C",因为它在"CODE"列中的值.我想要的是计算我有多少'A','B'和'C'.
我知道我可以用3个不同的查询完成这个,但我想知道是否有办法只用1来做到这一点.
不要拍摄我只是这里的信使,但我有一些看起来像这样的xml
<XMLSnippet>
<data>
<stuff value="stuff" />
<stuff value="more stuff" />
<stuff value="even more stuff" />
<widget value="you expected stuff didn't you" />
<stuff value="great, we've got stuff again" />
</data>
</XMLSnippet>
Run Code Online (Sandbox Code Playgroud)
我想循环遍历所有data子节点并输出以下内容
stuff
more stuff
even more stuff
you expected stuff didn't you
great, we've got stuff again
Run Code Online (Sandbox Code Playgroud)
如果重要,我只能使用XSLT 1.0
谢谢!
我正在使用Google Gauges,并希望在量表中的值后添加%符号.我的值显示没有百分比符号(整数0 - 100),但是当我开始尝试添加百分比符号时,事情变得很糟糕.
这是我尝试过的
// Format the data to include % symbol
var formatter = new google.visualization.NumberFormat(
{suffix: '\u0025'}
//{suffix: '%'}
//{pattern: '#%'}
);
Run Code Online (Sandbox Code Playgroud)
所有三次尝试都显示正确的可视化,但对于实际值文本,我会得到不同的结果.
使用任一后缀方法,它会添加两个小数位:
6 => 6.00%
26 => 26.00%
等等
使用模式方法,它将值乘以100
6 => 600%
26 => 2600%
等等
有关如何简单地显示值和百分号的任何线索?
更新 - 底部的新代码
我试图找出如何使用sort函数从一些XML数据中提取最新记录.我是使用XSLT的新手,遇到了很多问题.这是我的数据的一个例子......
<content date="1/13/2011 1:21:00 PM">
<collection vo="promotion">
<data vo="promotion" promotionid="64526" code="101P031" startdate="1/7/2011 12:00:00 AM"/>
<data vo="promotion" promotionid="64646" code="101P046" startdate="1/9/2011 12:00:00 AM"/>
</collection>
</content>
Run Code Online (Sandbox Code Playgroud)
我想要做的是按降序顺序按升级ID排序数据,然后只通过HTML输出最大的升级.这是我尝试的方式
更新 - 这是仍然遇到问题的代码的最新版本.
<html><body>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" />
<xsl:template match="content/collection/data">
<xsl:apply-templates>
<xsl:sort select="promotionid" order="descending" data-type="number" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="content/collection">
<xsl:value-of select="data/@promotionid" />
</xsl:template>
</xsl:stylesheet>
</body></html>
Run Code Online (Sandbox Code Playgroud)
虽然这确实返回了我得到的结果是'64526'而不是'64646'.
有人可以帮忙吗?我也在网上看过你可以按多个字段排序的例子.现在可能值得注意,而不是后来问,我们可能想要通过startdate而不是promotionid来排序.我已经设法提出了用YYYY,MM和DD打破日期的代码,但是我不知道除了使用那些作为我的选择参数之外我怎么会开始使用它,但我不知道知道这是否真的有效.
Year
<xsl:value-of select="substring(substring-after(substring-after(data/@startdate,'/'),'/'),1,4)" />
Month
<xsl:value-of select="substring-before(data/@startdate,'/')" />
Day
<xsl:value-of select="substring-before(substring-after(data/@startdate,'/'),'/')" />
Run Code Online (Sandbox Code Playgroud)
提前感谢,我向我的新手XSLT技能道歉.
-------------------------------------------------- ----
在此处获得一些帮助后,代码已更改,但仍未按预期工作.这是代码......
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" …Run Code Online (Sandbox Code Playgroud) 我试图了解no_index如何实际加速查询并且无法在线查找文档来解释它.
例如,我的查询速度非常慢
select *
from <tablename>
where field1_ like '%someGenericString%' and
field1_ <> 'someSpecificString' and
Action_='_someAction_' and
Timestamp_ >= trunc(sysdate - 2)
Run Code Online (Sandbox Code Playgroud)
我们的一位DBA能够通过这样做大大加快速度
select /*+ NO_INDEX(TAB_000000000019) */ *
from <tablename>
where field1_ like '%someGenericString%' and
field1_ <> 'someSpecificString' and
Action_='_someAction_' and
Timestamp_ >= trunc(sysdate - 2)
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么?我想弄清楚为什么这样可行,所以我可以看看我是否可以将它应用于另一个查询(这是一个连接)来加快它,因为它需要更长的时间才能运行.
谢谢!
**更新**以下是我对示例中表格的了解.
好吧,尝试构建一个单独的查询来节省我自己一大堆时间(而不是写大量的单独查询),但我甚至不知道如何开始这个.
我需要的是single day and type在上午8:00到晚上8:00之间按小时查看和分析行动计数.所以例如我有以下假表
TYPE_ ACTION_ TIMESTAMP_
------------------------------
A processed 2010-11-19 10:00:00.000
A processed 2010-11-19 10:46:45.000
A processed 2010-11-19 11:46:45.000
A processed 2010-11-19 12:46:45.000
A processed 2010-11-19 12:48:45.000
A pending 2010-11-19 11:46:45.000
A pending 2010-11-19 11:50:45.000
A pending 2010-11-19 12:46:45.000
A pending 2010-11-19 12:48:45.000
B pending 2010-11-19 19:48:45.000
B pending 2010-11-19 21:46:45.000
.etc
Run Code Online (Sandbox Code Playgroud)
所以,如果我想查看所有记录
我会看到这个结果
ACTION_ NUMOCCURENCES RANGE
---------------------------------------------
processed 2 10:00:00 - 11:00:00
pending 0 10:00:00 - 11:00:00
processed 1 11:00:00 - …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的groovy脚本,它通过JSON工作并执行一些操作.由于JSON记录和操作之间没有依赖关系,我希望我可以加快执行速度.鉴于此代码......
def recordJSON = new JsonSlurper().parseText(myFile.text)
recordJSON.each{
do stuff here
}
Run Code Online (Sandbox Code Playgroud)
有没有办法线程执行或并行执行它们?我已经对这个主题做了一些阅读,但我是一个随便的编码器,他们似乎有点过头了.
我试图弄清楚如何从表列中拉取选择值,但也返回其他结果.例如,说我有下表
person ..........
------------------
bob ..........
mary ..........
bob ..........
sue ..........
Run Code Online (Sandbox Code Playgroud)
我想要回来的是
bob ..........
mary ..........
sue ..........
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我不关心我实际上从其他列中接收bob的值,我该怎么做?
跟进问题,如果我关心怎么办?如果我有这张桌子怎么办?
person type color ..........
----------------------------------
bob 0 blue ..........
mary 1 green ..........
bob 1 red ..........
sue 0 yellow ..........
Run Code Online (Sandbox Code Playgroud)
而这一次我又想要独一无二的人,但是当他的类型为0时我希望结果回到bob,所以对他来说我会看到
bob 0 blue ..........
mary 1 green ..........
sue 0 yellow ..........
Run Code Online (Sandbox Code Playgroud)
谢谢!
让我们假设我有两个表GOOD并BAD存储小部件生成的记录.我的桌子看起来像这样
Widget Good
----------------
Widget A Y
Widget A Y
Widget B Y
Widget Bad
----------------
Widget A Y
Widget B Y
Run Code Online (Sandbox Code Playgroud)
我有这两个基本查询
select count(*) as good from table_good where widget = 'Widget A' and Good = 'Y'
select count(*) as bad from table_bad where widget = 'Widget A' and Bad = 'Y'
Run Code Online (Sandbox Code Playgroud)
这将导致两个这样的表
good
----
2
bad
---
1
Run Code Online (Sandbox Code Playgroud)
我想将这些组合成一个单独的查询,我将返回一个表格,其中包含一个看起来像这样的记录
good bad
-----------
2 1
Run Code Online (Sandbox Code Playgroud)
有人能指出我如何做到这一点.我认为做一个联合并在其他表中设置假列会选择这样做,但我得到了正确的表模式,但有两个单独的记录.
谢谢!