我有一张表,我需要在其中返回两件事(最好使用一个查询):
1)每个日期的唯一 ID 计数
2)otherfield = "-" 表示唯一 ID 的行数。这意味着,如果同一天的 id 在 中输入值“-”的两倍otherfield,我希望它把它算作一。
示例表:
date | id | otherfield
----------
date1 | f | abc
date1 | p | -
date1 | p | -
date2 | f | abc
date2 | d | dee
Run Code Online (Sandbox Code Playgroud)
应该返回表:
date1 | 2 | 1
date2 | 2 | 0
Run Code Online (Sandbox Code Playgroud)
目前我正在使用:
SELECT date, COUNT(DISTINCT `id`) AS id, SUM(IF(otherfield = '-', 1,0)) AS `undeclared` FROM mytable GROUP BY date
Run Code Online (Sandbox Code Playgroud)
但这总结了 otherfield 的所有值,将 id='p' …
所以一个函数有时崩溃(未被捕获的异常),我想重新调用它2次,当发生延迟1秒时,让我们说.这是代码,但它似乎不起作用:
$crashesn = 0;
function checkNum($number) {
echo $number . "<br>";
if ($number>1) {
throw new Exception("Value must be 1 or below");
}
return true;
}
try {
checkNum(2);
echo 'If you see this, the number is 1 or below';
}
catch(Exception $e) {
$crashesn++;
echo "crashes number:".$crashesn."<br>";
if ($crashesn <= 2) {
sleep(1);
checkNum(2);
} else {
echo "MESSAGE: " .$e->getMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
checknum是抛出异常的函数(这里每次抛出异常都会崩溃).问题是,当我运行这段代码时,我仍然在我的页面上出现错误消息
Fatal error: Uncaught exception 'Exception' with message 'Value must be 1 or below' in G:\fix\ta_dll\test.php:30 …Run Code Online (Sandbox Code Playgroud) 根据SO-ers的建议,我将一个MS Access数据库(由于测试原因,一个小数据库)转换为SQLite.它有两个表,一个有5k个条目,另一个有50k个条目.
现在,我将在QuLimma和QLexeis下面的查询使用Access花费大约60ms(下面的函数的总时间),但是使用SQLite需要大约830ms.
Dim i As Integer
Dim ms As Integer
ResultPin(0) = ""
ResultPin(1) = ""
ResultPin(2) = ""
ResultPin(3) = ""
ResultPin(4) = ""
i = 0
Multichoice = 0
ms = 0
Dim rsTblEntries As ADODB.Recordset
Set rsTblEntries = New ADODB.Recordset
Dim QuLimma As String, QLexeis As String
QuLimma = "SELECT Words.limma, Words.limmabody, Words.limmapro " & _
"FROM Words " & _
"GROUP BY Words.limma, Words.limmabody, Words.limmapro " & _
"HAVING …Run Code Online (Sandbox Code Playgroud) 我知道我很可能是挑剔但是...我有以下代码:
var book;
var i=0;
i = 300;
book = new CBook();
book.Title = "blahblah";
book.Contents = "lalalala";
function CBook() {
this.Title = "";
this.Contents = "";
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是:
拥有它会更好吗?
var book = {};
Run Code Online (Sandbox Code Playgroud)
代替
var book;
Run Code Online (Sandbox Code Playgroud)
在第一个版本中,typeof(book)在赋值簿之前返回undefined = new CBook();
提前致谢
这是HTML和CSS代码:
#spanUpdBrowserSuggestions a {
font-family: Tahoma, Geneva, sans-serif;
font-size: 12pt;
font-weight: bold;
text-decoration: none;
color: #000000;
}
#spanUpdBrowserSuggestions a:hover {
color: #FF0000;
}Run Code Online (Sandbox Code Playgroud)
<span name="spanUpdBrowserSuggestions" id="spanUpdBrowserSuggestions">
<ul>
<li><a href="http://www.mozilla.com/en-US/firefox/new/" target="_new">Firefox</a><br></li>
<li><a href="http://www.opera.com/download/" target="_new">Opera</a><br></li>
<li><a href="http://www.google.com/chrome/index.html" target="_new">Chrome</a><br></li>
<li><a href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie" target="_new">Explorer</a><br></li>
</ul>
</span>Run Code Online (Sandbox Code Playgroud)
在Firefox,Opera,甚至IE中它都应该显示:黑色链接正常,红色悬停.在基于Webkit的浏览器中(谷歌浏览器和Safari)它显示为带有下划线的普通蓝色链接.
有什么想法有什么不对吗?
所以在我的 html 我有这个部分:
<body ondblclick="myfunc();">
<div id="id1">dasd</div>
<div id="id2">dasda</div>
</body>
Run Code Online (Sandbox Code Playgroud)
在 javascript 中,函数是:
function myfunc() {
do stuff here...
}
Run Code Online (Sandbox Code Playgroud)
我想知道在 myfunc() 中双击是在 html 正文的哪个元素上进行的,因为我不想在每个双击元素上触发 myfunc()
那么如何检测双击元素的 id 呢?
我希望能够从数组中删除一个对象而不循环所有对象数组,以查看当前数组元素是否具有我想要删除的项的ID.
JavaScript的:
function CBooks() {
this.BooksArray = [];
this.AddBook = function(divID, sContents) {
this.BooksArray.push(new CBook());
pos = this.BooksArray.length - 1;
this.BooksArray[pos].ArrayID = pos;
this.BooksArray[pos].DivID = divID;
this.BooksArray[pos].Contents = sContents;
}
this.DelBook = function(divID) {
this.BooksArray.splice(...);
}
}
function CBook() {
this.ArrayID = 0;
this.DivID = "";
this.Contents = "";
}
Run Code Online (Sandbox Code Playgroud)
我像这样初始化对象:
var oBooks = new CBooks();
Run Code Online (Sandbox Code Playgroud)
我添加了这样一本新书:
oBooks.AddBook("divBook1", "blahblahblah");
//Creation of the div here
oBooks.AddBook("divBook2", "blehblehbleh");
//Creation of the div here
Run Code Online (Sandbox Code Playgroud)
现在,用户可以单击显示每本书的div中的X按钮,以便他可以删除该书.所以X按钮包含:
onclick=oBooks.DelBook(this.id);
Run Code Online (Sandbox Code Playgroud)
现在显然在DelBook(divID)函数中,我可以循环遍历BooksArray的长度并查看每个元素,如果它的divID等于参数并在那时拼接,但我想避免循环.
有什么办法吗?
提前致谢
我在容器里面有一堆div.内容div的位置是相对的,因为我希望它们出现在另一个之下,并且它们的高度是未知的.
这些div是在容器div中动态创建的(appendchild).现在,每个div出现在堆栈的末尾(底部),但我的要求是div也有一个"最新的第一个"选项,也就是说,每个新div出现在顶部,而不是在内容div的底部(如果用户在设置中选择"最新的第一个".
HTML:
<div class="container">
<div id="div1" class="content">aaa<br>aaa</div>
<div id="div2" class="content">bbb<br><br>bbb</div>
<div id="div3" class="content">ccc</div>
<div id="div4" class="content">ddd</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.container {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
border: 1px solid red;
}
.content {
position: relative;
top: 0px;
left: 5px;
width: 200px;
height: auto;
border: 1px solid blue;
margin: 3px;
}
Run Code Online (Sandbox Code Playgroud)
所以我希望最终用户可见的顺序为:div4,div3,div2,div1.
我怎样才能做到这一点?(CSS/JS)
最好没有jquery.
谢谢你的建议!
在尝试将 http 流量重定向到 https 时,我发现了以下两个规则,它们似乎在做同样的事情,但是它们在两个地方有细微的差异。我应该选择其中一个而不是另一个吗?有什么好处吗?(性能、极端情况等)
规则1:
<rule name="HTTP to HTTPS Redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{SERVER_PORT_SECURE}" pattern="^0$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
Run Code Online (Sandbox Code Playgroud)
规则 2:
<rule name="HTTP to HTTPS Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
redirectType="Permanent" />
</rule>
Run Code Online (Sandbox Code Playgroud)
差异在于输入和重定向 URL,其中一个使用 {R:1},另一个使用 REQUEST_URI。
先感谢您