小编Gus*_*ram的帖子

MySQL - 按DESC的顺序分组

table:uuid,version,datetime

版本不是唯一的,但想法是仅获取给定uuid的最新日期时间的行

SELECT * FROM table WHERE uuid='bla' GROUP BY version ORDER BY datetime desc

...当然获取datetime asc结果 - 有没有办法将该组"预先排序"到desc,以便只获取最新版本?

mysql group-by

5
推荐指数
2
解决办法
3万
查看次数

使用 GROUP BY、ORDER BY 和 GROUP_CONCAT 进行索引

解决见下文

我正在尝试同时使用GROUP BYORDER BY在我的查询中检索按难度排序的数据。我必须使用 ,GROUP BY因为GROUP CONCAT某些表(例如“lookup_peripheral”)将多个值链接到同一个键 (content_id)。我理解为什么 MYSQL 在执行此任务时不能使用索引,因为 GROUP BY 和 ORDER BY 语句不共享相同的字段。但是,我正在寻找不需要一天即可检索结果的替代解决方案。

如果省略GROUP BYorORDER BY子句,则数据库使用索引,但结果要么缺少所有外围设备,要么未按难度排序。

我在 'lookup_difficulty' 表中FROM使用,所以我可以使用该索引对结果进行排序。这些lookup_xxxxx表存储每个允许的值,然后是其他表,例如peripheral通过 content_id 将提交链接到值。一切都参考了提交content_id。该content表包含基本信息,例如成员 ID、姓名等。

如果我的帖子不够清楚,我深表歉意。

mysql> describe peripheral;
+------------------+----------+------+-----+---------+-------+
| Field            | Type     | Null | Key | Default | Extra |
+------------------+----------+------+-----+---------+-------+
| peripheral_id    | int(2)   | NO   | PRI | NULL    |       |
| …
Run Code Online (Sandbox Code Playgroud)

mysql group-by sql-order-by

5
推荐指数
1
解决办法
2670
查看次数

循环宏中的"for"和"as"关键字有什么区别吗?

在Common Lisp中,在循环宏中,andas关键字看起来功能相同:

(loop for i from 1 to 3 do (print i))
(loop as i from 1 to 3 do (print i))
Run Code Online (Sandbox Code Playgroud)

我有什么微妙的差异吗?如果没有,为什么要打扰两个不同但相同的关键词呢?

common-lisp

4
推荐指数
1
解决办法
81
查看次数

如何避免这个编译错误?

我有生成代码的代码(如say-hello),我发现使用生成的代码创建函数的最简单方法是将 a 放入类似这样的defun代码中eval

(defun say-hello ()
  `(princ "test"))

(eval
 `(defun test ()
    ,(say-hello)))

(test)
Run Code Online (Sandbox Code Playgroud)

该文件在命令行上运行良好:

sbcl --script test.lisp
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在 SBCL 中编译它时会抱怨:

* (compile-file "test.lisp")

; compiling file "test.lisp" (written 19 APR 2018 01:05:19 PM):
; compiling (DEFUN SAY-HELLO ...)
; compiling (EVAL (SB-INT:QUASIQUOTE #))
; compiling (TEST)
; file: test.lisp
; in: TEST
;     (TEST)
;
; caught STYLE-WARNING:
;   undefined function: TEST
;
; compilation unit finished
;   Undefined function:
;     TEST
; …
Run Code Online (Sandbox Code Playgroud)

eval sbcl common-lisp

4
推荐指数
1
解决办法
658
查看次数

SQL Group By

如果我有一组记录

name    amount    Code
Dave    2         1234
Dave    3         1234
Daves   4         1234
Run Code Online (Sandbox Code Playgroud)

我希望这个基于Code&Name进行分组,但是最后一行在名称中有一个拼写错误,所以这不会分组.

将这些分组的最佳方式是:

Dave/Daves 9 1234

sql group-by

3
推荐指数
2
解决办法
738
查看次数

CodeIgniter中的重复数据插入

我只是在pastebin http://pastebin.com/KBtqrAkZ的 codeigniter控制器部分插入数据

  public function add_product()
  {
    $this->lang->load('log_in', 'english');
        log_in_check($this->lang->line('log_in_authentication_error'), 'admin/log_in');
        $this->lang->load('common', 'english');
        $data['title'] = $this->lang->line('admin_index_title');
        $this->load->view('admin_template/header', $data);
        $this->load->view('admin_template/left_menu');
    $data['error_msg'] = '';
        if ($this->form_validation->run('add_product') === TRUE)
        {
      $this->admin_model->add_product($this->input->post());
            $this->session->set_flashdata('status_msg', $this->lang->line('add_product_success'));
            redirect(uri_string(), 'refresh');
      exit ;
          $data['error_msg'] = $this->lang->line('add_product_invalid_data');
        }
        $this->load->view('admin/add_product');
        //$this->load->view('admin_template/notification');
        $this->load->view('admin_template/footer');  
  }
Run Code Online (Sandbox Code Playgroud)

比我的模型部分简单添加在pastebin http://pastebin.com/WiLHV2sr

  public function add_product($data = array())
  {
    $this->db->insert('ishop_product', $data);
    return $this->db->insert_id();
  }
Run Code Online (Sandbox Code Playgroud)

如果我按ctrl + F5或F5而不是数据插入,我的问题是重定向后.我是codeigniter的新手.请帮帮我.任何帮助将不胜感激.

php duplicate-data codeigniter double-submit-prevention

3
推荐指数
1
解决办法
8171
查看次数

如何使用linq对数据表中的多个列进行分组?

我正在使用Linq对我的数据表中的某些列进行分组

List<DataTable> tables = ds
  .Tables[0]
  .AsEnumerable()
  .GroupBy(row => row.Field<string>("EMAIL"), row.Field<string>("NAME"))
  .Select(g => g.CopyToDataTable())
  .ToList();
Run Code Online (Sandbox Code Playgroud)

我收到一个构建错误"当前上下文中不存在名称'行'"?如何处理多个组?

c# linq

3
推荐指数
1
解决办法
2万
查看次数

如何在批处理文件中找到最新的 Visual Studio 开发人员命令提示符?

我需要编写一个批处理文件来完成 Visual Studio 中的预构建步骤。作为其中的一部分,我需要调用 Visual Studio 开发人员命令提示符。

我知道对于 VS2015,开发人员命令提示符位于C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat.

不幸的是,我们的构建服务器有不同版本的 VS。是否有一种简单的方法可以VSDevCmd.bat在批处理文件中查找所有(或大多数)版本的 Visual Studio 的最新版本,以便预构建步骤适用于这两种环境?

batch-file command-prompt visual-studio

3
推荐指数
1
解决办法
3846
查看次数

按字段分组,但如果是另一个字段的空组

我有一个表有一个名为tableNum的列和另一个名为deviceNum的列

我想按tableNum进行分组,但如果tableNum为空,那么我需要按deviceNum进行分组.

我目前使用union语句完成此操作,以便我可以执行两个不同的语句,但是想知道是否有更好的方法.

非常感谢

戴夫

mysql group-by

2
推荐指数
1
解决办法
2291
查看次数

Python:Palidrome(字符串索引超出范围)

我试着编写一个名为is_palidrome_v3(s)的方法来比较单词的第一个和最后一个字母,然后是第二个和最后一个字母,直到该对不相同,最后检查索引是否> = len(s)// 2

def is_palidrome_v3(s):
    ''' (str) -> bool

    Return True if and only if s is a palidrome.

    >>> is_palidrome_v3('noon')
    True
    >>> is_palidrome_v3('racecar')
    True
    >>> is_palidrome_v3('dented')
    False
    '''

    i = 0
    while i <= len(s) // 2 and s[i] == s[len(s) - i]:
        i = i + 1

    return i >= len(s)//2
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时:

is_palidrome_v3('noon')
Run Code Online (Sandbox Code Playgroud)

有一个错误:

Traceback (most recent call last): 
File "<pyshell#0>", line 1, in <module> is_palidrome_v3('noon') 
File "C:\Users\James\Google-h0925473\Learning Programming\Python\Python Fundamental (Coursera)\is_palidrome_v1.py", line 67, in is_palidrome_v3 while i …
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
229
查看次数

如果@ x.present,@ x || =是否像返回@x一样工作?

这是:

def x?
  return @x if @x.present?

  @x = #boolean calculation
end
Run Code Online (Sandbox Code Playgroud)

等于布尔值@x

def x?
  @x ||= #boolean calculation
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

2
推荐指数
1
解决办法
66
查看次数

如何获取 Python 中给定类的成员列表?

这是我想要得到的:

class Foo:

    def __init__(self, test1, test2, test3):
     self.test1=test1
     self.test2=test2
     self.test3=test3
Run Code Online (Sandbox Code Playgroud)

有没有办法获取成员变量名称列表?

类似于 dir() 函数的东西,但不是这样的:

dir(Foo)
['__doc__', '__init__', '__module__']
Run Code Online (Sandbox Code Playgroud)

你将会拥有:

something(Foo)
['test1', 'test2', 'test3']
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
1785
查看次数

如何判断我的函数是否经过尾调优化?

我正在阅读On Lisp中的第2.8节(Tail Recursion).它有一个尾递归函数的例子:

(defun our-length-tr (lst)
  "tail recursive version with accumulator"
  (labels ((rec (lst acc)
             (if (null lst)
                 acc        
                 (rec (cdr lst) (1+ acc)))))
    (rec lst 0)))
Run Code Online (Sandbox Code Playgroud)

它说许多 Common Lisp编译器会执行TCO,但您可能需要(proclaim '(optimize speed))在文件的顶部.

我怎么能确定我的编译器支持TCO,并且它会将我的函数编译为循环版本而不是递归版本?

common-lisp tail-call-optimization

0
推荐指数
1
解决办法
136
查看次数